package com.ruoyi.ctcx.service;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.ctcx.domain.TbInsuranceContractRiskPlan;

/**
 * 保险合同风控费用支付计划Service接口
 * 
 * @author ruoyi
 * @date 2024-11-22
 */
public interface ITbInsuranceContractRiskPlanService 
{
    /**
     * 查询保险合同风控费用支付计划
     * 
     * @param id 保险合同风控费用支付计划主键
     * @return 保险合同风控费用支付计划
     */
    public TbInsuranceContractRiskPlan selectTbInsuranceContractRiskPlanById(Long id);

    /**
     * 查询保险合同风控费用支付计划列表
     * 
     * @param tbInsuranceContractRiskPlan 保险合同风控费用支付计划
     * @return 保险合同风控费用支付计划集合
     */
    public List<TbInsuranceContractRiskPlan> selectTbInsuranceContractRiskPlanList(TbInsuranceContractRiskPlan tbInsuranceContractRiskPlan);

    /**
     * 新增保险合同风控费用支付计划
     * 
     * @param tbInsuranceContractRiskPlan 保险合同风控费用支付计划
     * @return 结果
     */
    public int insertTbInsuranceContractRiskPlan(TbInsuranceContractRiskPlan tbInsuranceContractRiskPlan);

    /**
     * 修改保险合同风控费用支付计划
     * 
     * @param tbInsuranceContractRiskPlan 保险合同风控费用支付计划
     * @return 结果
     */
    public int updateTbInsuranceContractRiskPlan(TbInsuranceContractRiskPlan tbInsuranceContractRiskPlan);

    /**
     * 批量删除保险合同风控费用支付计划
     * 
     * @param ids 需要删除的保险合同风控费用支付计划主键集合
     * @return 结果
     */
    public int deleteTbInsuranceContractRiskPlanByIds(Long[] ids);

    /**
     * 删除保险合同风控费用支付计划信息
     * 
     * @param id 保险合同风控费用支付计划主键
     * @return 结果
     */
    public int deleteTbInsuranceContractRiskPlanById(Long id);

    BigDecimal getAllPlanAmountByRiskId(Long riskId);
}
